package com.triones.yjj.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.triones.yjj.entity.MemberBrowseDO;
import com.triones.yjj.entity.bo.WxVisitParams;
import com.triones.yjj.entity.bo.WxVisitSearchParams;
import com.triones.yjj.entity.vo.MemberActionListVO;
import com.triones.yjj.entity.vo.MemberBrowseVO;
import com.triones.yjj.entity.vo.PotentialListVO;
import com.triones.yjj.entity.vo.WxStaffMemberBrowseVO;
import org.apache.ibatis.annotations.Param;

/**
 * 客户浏览 mapper 接口
 *
 * @Author: triones
 */
public interface MemberBrowseMapper extends BaseMapperPlus<MemberBrowseMapper, MemberBrowseDO, MemberBrowseVO> {

    /**
     * 获取用户行为列表（分页）
     * @param build
     * @param params
     * @return
     */
    Page<MemberActionListVO> actionPageList(@Param("page") Page<Object> build,@Param(Constants.WRAPPER) QueryWrapper<MemberBrowseDO> params);

    /**
     * 获取潜在客户列表（分页）
     * @param build
     * @param wrapper
     * @return
     */
    Page<PotentialListVO> potentialPageList(@Param("page") Page<Object> build,@Param(Constants.WRAPPER) QueryWrapper<MemberBrowseDO> wrapper);

    /**
     * 员工的客户总访问列表
     * @param wrapper
     * @return
     */
    Page<WxStaffMemberBrowseVO> getAllVisitList(@Param("page") Page<Object> build, @Param(Constants.WRAPPER) QueryWrapper<MemberBrowseDO> wrapper);
    /**
     * 员工今日的客户总访问列表
     * @param params
     * @return
     */
    Page<WxStaffMemberBrowseVO> getTodayVisitList(@Param("page") Page<Object> build,@Param("params") WxVisitSearchParams params);
}
